package com.piggy.logi.sys.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.piggy.common.core.web.domain.BaseTenantEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 线路管理编辑对象 logi_line
 *
 * @author piggy
 * @date 2023-08-14
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("线路管理编辑对象")
public class LogiLineEditBo extends BaseTenantEntity {


    /** 主键 */
    @ApiModelProperty("主键")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long lineId;

    /** 线路名称 */
    @ApiModelProperty("线路名称")
    @NotBlank(message = "线路名称不能为空")
    private String lineName;

    /** 线路类型 */
    @ApiModelProperty("线路类型")
    @NotBlank(message = "线路类型不能为空")
    private String lineType;

    /** 0 常用 1 临时 */
    @ApiModelProperty("0 常用 1 临时")
    @NotBlank(message = "0 常用 1 临时不能为空")
    private String lineFlag;

    /** 线路范围 */
    @ApiModelProperty("线路范围")
    private String lineScope;

    /** 运营方向 */
    @ApiModelProperty("运营方向")
    private String lineDirect;

    /** 所属区域 */
    @ApiModelProperty("所属区域")
    private String lineDistrict;

    /** 1 启用 0 停用 */
    @ApiModelProperty("1 启用 0 停用")
    private String status;

    /** 1 启用 0 停用 */
    @ApiModelProperty("是否是手工自定义 0 非自定义 1 自定义 ")
    private Integer manualType;

    /** KM */
    @ApiModelProperty("KM")
    private BigDecimal totalMile;

    /** 分钟 */
    @ApiModelProperty("分钟")
    private Integer totalTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remark;
}
